# -*- coding: utf-8 *-*
# Gestión de idiomas de la aplicación.

## vipera, un diseñador de aplicaciones para Python
##     Copyright (C) 2011 Ángel Luis García García
##
##    This program is free software: you can redistribute it and/or modify
##    it under the terms of the GNU General Public License as published by
##    the Free Software Foundation, either version 3 of the License, or
##    (at your option) any later version.
##
##    This program is distributed in the hope that it will be useful,
##    but WITHOUT ANY WARRANTY; without even the implied warranty of
##    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
##    GNU General Public License for more details.
##
##    You should have received a copy of the GNU General Public License
##    along with this program.  If not, see <http://www.gnu.org/licenses/>.

# El idioma origen es el español.

SPANISH = 0
ENGLISH = 1

# Diccionario español - inglés.
EN = {u'Hola Mundo' : u'Hello world',
      u'No se puede abrir el fichero de configuración' : u"Can't open configuration file",
      u"Atención" : "Attention",
      u"Información" : "Information",
      u"Inicializando vipera..." : 'Starting vipera',
      u"Un momento..." : 'One moment',
      u'Diciembre 2011' : u'December 2011',
      u"Nuevo proyecto" : "New project",
      u"Abrir proyecto" : "Open project",
      u"Salvar proyecto" : "Save project",
      u"Diseñador" : "Designer",
      u"Diseñador de clases" : "Class designer",
      u"Ingeniería inversa" : "Reverse engineering",
      u"Area de impresión" : "Print area",
      u"Configuración de la aplicación" : "Application settings",
      u"Tutorial de la aplicación" : "Application Tutorial",
      u"Acerca de..." : "About...",
      u"Salir" : "Exit",
      u'El proyecto existe. ¿Sobreescribir?' : 'Project exists. Overwrite?',
      u"Se salvó el proyecto" : "Project saved",
      u"¿Crear nuevo proyecto?" : u"Create new project?",
      u"Nuevo" : "New",
      u"Búsqueda en el nido de Python" : "Search in the nest of Python",
      u"Gestión de proyectos" : "Project management",
      u"Para comenzar haga click en 'Crear' para crear un módulo y a continuación selecciónelo del combo" :
      "To begin click 'Create' to create a module and then select it from the combo",
      u"Ayuda vipera" : "Help vipera",
      u"Para salvar el proyecto es necesario incluir como mínimo un nombre de proyecto en la 'Pestaña Definición' campo 'Nombre de proyecto'" :
      "To save the project you must include at least a project name in the 'Tab Definition' field 'Project Name'",
      u"Cree una función en 'Pestaña Funciones', haciendo click en 'Crear' y seleccionándola del combo":
      "Create a function in 'Tab Functions', clicking on 'Create' and selecting from the combo",
      u'Crear módulo' : "Create module",
      u'Nombre del nuevo módulo: ' : 'Name of the new module: ',
      u'Renombrar módulo' : 'Rename module',
      u'Nuevo nombre del módulo: ' : 'New name of the module: ',
      u"El módulo ya existe" : "Module exists",
      u"Seleccione el módulo a renombrar" : "Select the module to rename",
      u"El módulo no existe" : "Module doesn't exist",
      u"Seleccione el módulo a eliminar" : "Choose the module to delete",
      u"¿Eliminar el módulo?" : "Delete the module?",
      u"El módulo no se eliminó" : "The module was not deleted",
      u"El módulo se eliminó" : "The module was deleted",
      u"Barras y contrabarras no son permitidas." : "Bars and backslashes are not allowed.",
      u'Nombre del módulo nuevo: ' : "New module name: ",
      u'Nombre del directorio nuevo: ' : "New directory name: ",
      u'Nombre del directorio padre: ' : "Root directory name: ",
      "Elige una carpeta:" : "Choose a folder:",
      u"¿Borrar fichero?" : "Delete file?",
      u'''
------------------------------------------------------------------
Este es el archivo README del proyecto. Aquí, usted debe describir
su proyecto. Dígale al lector (alguien que no sabe nada sobre este 
proyecto) todo lo que él / ella necesita saber. Los comentarios 
por lo general deben incluir al menos:
------------------------------------------------------------------

TÍTULO DEL PROYECTO: 
PROPÓSITO DEL PROYECTO: 
VERSIÓN O FECHA:
CÓMO COMENZAR ESTE PROYECTO: 
AUTORES:
INSTRUCCIONES PARA EL USUARIO:
''' : u''' 
------------------------------------------------------------------------
This is the project README file. Here, you should describe your project.
Tell the reader (someone who does not know anything about this project)
all he/she needs to know. The comments should generally include at least:
------------------------------------------------------------------------

PROJECT TITLE: 
PURPOSE OF PROJECT: 
VERSION or DATE: 
HOW TO START THIS PROJECT: 
AUTHORS: 
USER INSTRUCTIONS:''',
      u"¿Crear nuevo fichero?" : "Create new file?",
      u"Indentación cero no permitida" : "Indentation zero not allowed",
      u"El directorio no se ha creado" : "Directory was not created",
      u'No se pudo eliminar la carpeta temporal' : "Could not delete temporary folder",
      u'El módulo principal no es válido' : "Main module is not valid",
      u'No se pudo crear el módulo' : "Could not create the module",
      u'¿Continuar?' : 'Continue?',
      u'No se pudo generar el fichero' : 'Could not create the file',
      u'Se creó el fichero de documentación' : 'Documentation file created',
      u'Sin packages' : 'No packages',
      u"Seleccione salida de documentación" : "Select output documentation",
      u'Se debe incluir nombre y ruta de fichero de texto' : 'name and path of a text file should be included',
      u"Documentación" : 'Documentation',
      u'Se debe incluir nombre y ruta de fichero html' : 'file name and path of html should be included',
      u'Proyecto' : 'Project', 
      u'''
  vipera, un diseñador de aplicaciones para Python
Copyright (C) 2011 Ángel Luis García García

Este programa es software libre: usted puede redistribuirlo y / o modificar
bajo los términos de la Licencia Pública General de GNU según lo publicado por
la Free Software Foundation, ya sea la versión 3 de la Licencia, o
(a su elección) cualquier versión posterior.

Este programa se distribuye con la esperanza de que sea útil,
pero SIN NINGUNA GARANTÍA, incluso sin la garantía implícita de
COMERCIALIZACIÓN O IDONEIDAD PARA UN PROPÓSITO PARTICULAR. Ver el
GNU General Public License para más detalles.

Debería haber recibido una copia de la Licencia Pública General de GNU
junto con este programa. Si no es así, consulte <http://www.gnu.org/licenses/>.    
''' : u'''
  vipera, an application designer for Python
Copyright (C) 2011 Ángel Luis García García

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.
    ''',
      u'''
vipera es un diseñador de aplicaciones para el lenguaje de programación Python
''' : u'''vipera is an application designer for the Python programming language
''',
      u'Crear clase' : u'Add class',
      u'Eliminar clase' : u'Delete class',
      u'Renombrar clase' : u'Rename class',
      u'Clase' : u'Class',
      u'Métodos de clase' : u'Class methods',
      u'Crear' : u'Create',
      u'Renombrar' : u'Rename',
      u'Eliminar' : u'Delete',
      u'Expandir panel derecho' : u'Expand the right panel',
      u'Expandir panel izquierdo' : u'Expand the left panel',
      u'Nombre del nuevo método: ' : u'Name of the new method: ',
      u'Renombrar método: ' : u'Rename method: ',
      u'Método' : u'Method',
      u'¡El método ya existe!' : u'Method exists!',
      u'Seleccione antes un método' : u'Select a method first',
      u'Eliminar método?' : u'Delete method?',
      u'NOMBRE DE LA CLASE' : u'CLASS NAME',
      u'HEREDA DE (clases en módulo actual)' : u'INHERIT OF (current module classes)',
      u'HEREDA DE (clases en módulos externos)' : u'Inherit of (classes in external modules)',
      u'Borrar todo' : u'Clear all',
      u'Información de método' : u'Method information',
      u'OCULTO' : u'HIDDEN',
      u'PARÁMETROS' : u'PARAMETERS',
      u'Parámetros' : u'Parameters',
      u'VALOR POR DEFECTO' : u'DEFAULT VALUE',
      u'Valor por defecto' : u'Default value',
      u'VALIDAR TIPO DE DATO COMO' : u'VALIDATE DATA TYPE AS',
      u'VALORES DE INICIALIZACIÓN' : u'INITIALIZATION VALUE',
      u'ATRIBUTOS' : u'ATTRIBUTES',
      u'Atributos' : u'Attributes',
      u'PROPIEDADES' : u'PROPERTIES',
      u'INFORMACIÓN' : u'INFORMATION',
      u'Código constructor inicial' : u'Initial constructor code',
      u'Código constructor final' : u'Final constructor code',
      u'Código destructor' : u'Destructor code',
      u'Constantes de clase' : u'Class Constants',
      u'Clave/Constante' : u'Key/Constant',
      u'Valor' : u'Value',
      u"constante = 'valor'" : u"const = 'value'",
      u'Subir' : u'Up',
      u'Bajar' : u'Down',
      u'Seleccione solo un elemento a desplazar' : u'Select only one item to move',
      u'Seleccione solo un elemento a modificar' : u'Select only one item to modify',
      u'Una clase no puede heredar de si misma' : u'A class cannot inherit from itself',
      u'¡La relación ya existe!' : u'Relationship already exists!',
      u'Seleccione clase a eliminar' : u'Select class to delete',
      u'Aceptar' : u'Accept',
      u'Cancelar' : u'Cancel',
      u'No se puede eliminar con multiselección' : u'Cannot remove with multiselect',
      u'Primero se debe seleccionar el texto a eliminar' : u'You must first select the text to be deleted',
      u'El elemento seleccionado no es un texto' : u'The selected item is not a text',
      u'¿Eliminar texto?' : u'Delete text?',
      u'No se puede modificar con multiselección' : u'You cannot modify with multiselect',
      u'Primero se debe seleccionar el texto a modificar' : u'You must first select the text to be modified',
      u'No puede incluir textos vacíos' : u'You cannot include empty text',
      u'Nombre de la nueva clase: ' : u'New class name: ',
      u'Texto (use \\n para nueva línea): ' : u'Text (use \\n for newline): ',
      u'¡La clase ya existe!' : u'Class exists!',
      u'Orden de instanciación de clases' : u'Order of class instantiation',
      u'Especificar el orden de creación de clases' : u'Specify the order of class creation',
      u'Orden de creación de clases' : u'Order class creation',
      u'CREAR RELACIÓN' : u'CREATE RELATIONSHIP',
      u'CLASE PADRE' : u'PARENT CLASS',
      u'CLASE HIJO' : u'CHILD CLASS',
      u'ACEPTAR' : u'ACCEPT',
      u'CANCELAR' : u'CANCEL',
      u'ELIMINAR RELACIÓN' : u'DELETE RELATIONSHIP',
      u'Ejecutar código' : u'Run code',
      u'Configurador' : u'Configurator',
      u'Configuración del proyecto' : u'Project Settings',
      u'Ficheros' : u'Files',
      u'Creación de ficheros y packages' : u'Creating files and packages',
      u'Documentación del proyecto' : u'Project Documentation',
      u'Definición' : u'Definition',
      u'Módulo' : u'Module',
      u'Objetivo' : u'Target',
      u'Notas' : u'Notes',
      u'Nombre del proyecto' : u'Project name',
      u'Versión' : u'Version',
      u'Desarrollador' : u'Developer',
      u'Grupo' : u'Team',
      u'Fecha creación' : u'Created on',
      u'Indentación' : u'Indentation',
      u'Codificación' : u'Coding',
      u'Crear módulo principal' : u'Create main module',
      u'Nombre del módulo' : u'Module name',
      u'Hacer script ejecutable' : u'Make script executable',
      u'Crear módulo ejecutable (chmod +x modulo_principal.py)' : u'Create executable module (chmod + x main_module.py)',
      u'Incluir cabecera de información generada por la aplicación' : u'Include header information generated by the application',
      u'Crear plantilla' : u'Create template',
      u'Seleccionar licencia' : u'Select license',
      u'Ayuda sobre la licencia seleccionada' : u'Help about the selected license',
      u'Aplicar en módulos' : u'Apply in modules',
      u'Buscar imagen' : u'Search image',
      u'Eliminar imagen' : u'Delete image',
      u'Una única carpeta' : u'A single folder',
      u'Organizar código en una única carpeta' : u'Organize code in a single folder',
      u'Organizar código en packages' : u'Organize code into packages',
      u'Incluir módulos' : u'Add modules',
      u'Carpeta' : u'Folder',
      u'Guardar código en una carpeta' : u'Save code in a folder',
      u'Guardar código en un fichero comprimido ZIP' : u'Save code in a ZIP file',
      u'Ruta' : u'Path',
      u'Nombre' : u'Name',
      u'Crear fichero LICENSE' : u'Create file LICENSE',
      u'Crear fichero HISTORY' : u'Create file HISTORY',
      u'Crear fichero README' : u'Create file README',
      u'Generar' : u'Generate',
      u'Módulos' : u'Modules',
      u'Crear __init__.py' : u'Create __init__.py',
      u'Salida en fichero de texto' : u'Output in text file',
      u'Salida en fichero html' : u'Output in html file',
      u'Módulos del proyecto' : u'Project modules',
      u'Elementos de módulo' : u'Module items',
      u'Extra' : u'Extra',
      u'Altura' : u'Height',
      u'Anchura' : u'Width',
      u'Constantes' : u'Constants',
      u'Funciones' : u'Functions',
      u'Clases' : u'Classes',
      u'Código principal' : u'Main code',
      u'Diagrama de clases' : u'Class diagram',
      u'Registros' : u'Records',
      u'¿Borrar fichero?' : u'Delete file?',
      u'La carpeta raíz ya existe' : u'Root folder already exists',
      u'Se sobreescribirán módulos con igual nombre' : u'Modules with the same name will be overwritten',
      u'Se sobreescribirán __init__.py' : u'__init__.py will be overwritten',
      u'No se sobreescribirán carpetas con igual nombre' : u'Folders with the same name will not be overwritten',
      u'Se creará el fichero' : u'It creates the file',
      u'en' : u'in',
      u'Se sobreescribirá fichero con igual nombre' : u'File with the same name will be overwritten',
      u'será creado' : u'will be created',
      u'Se sobreescribirán ficheros con mismo nombre. ¿Continuar?' : u'Files with same name will be overwritten. Continue?',
      u'no pudo ser creado. ¿Continuar?' : u'could not be created. Continue?',
      u'No se pudo cambiar permisos con chmod' : u'Could not change permissions with chmod',
      u'El árbol de packages está vacío' : u'The packages tree is empty',
      u'Falta especificar nombre de fichero ZIP y/o su ruta' : u'Missing specified ZIP file name and/or path',
      u'Falta especificar ruta de carpeta' : u'Need to specify folder path',
      u'Se debe de elegir una forma de organizar el código' : u'You must choose a way of organizing your code',
      u'Se debe de elegir la forma de guardar el código' : u'You must choose a way to save the code',
      u'¡Ficheros generados!' : u'Files generated!',
      u'¡Hay que seleccionar documentación a generar y formato de salida!' : u'Documentation and output format must be selected',
      u'Idioma' : u'Language',
      u'Color background de la aplicación' : u'Application background color ',
      u'Activar "Consejos del día" al iniciar la aplicación' : u'Show tips at startup',
      u'Tope horizontal' : u'Horizontal ceiling',
      u'Color background del diseñador de clases' : u'Class designer background color',
      u'Aplicar cambios' : u'Apply changes',
      u'Se necesita reiniciar la aplicación. Se perderán datos no salvados. ¿Continuar?' : u'You need to restart the application. Unsaved data will be lost. Continue?',
      u'No se ha podido iniciar mecanismo de reinicio de la aplicación' : u'Unable to restart mechanism to initiate application',
      u'Diccionario de constantes' : u'Dictionary of constants',
      u"dict = {'clave':'valor'}" : u"dict = {'key':'value'}",
      u'¿Eliminar?' : u'Delete?',
      u'Modificar': u'Modify',
      u'Nombre del nuevo diccionario: ': u'Name of the new dictionary: ',
      u'Modificar nombre de diccionario: ': u'Change dictionary name: ',
      u'Creando nuevo proyecto': u'Creating new project',
      u'Proyecto vipera': u'vipera project',
      u'Seleccione un fichero de proyecto': u'Choose a project file',
      u'Abriendo proyecto': u'Opening project',
      u'No se pudo abrir el fichero de proyecto': u'Could not open the project file',
      u'No se pudo cargar configuración': u'Could not load settings',
      u'Error al abrir fichero de proyecto': u'Failed to open project file',
      u'No se pudo cargar estructura de módulos': u'Could not load module structure',
      u'No se pudo cargar árbol de packages': u'Could not load packages tree',
      u'Hay que incluir un nombre de proyecto': u'A project name must be included',
      u'Generado por': u'Generated by',
      u'Código Python' : u'Python code',
      u'Crear documentación de módulo' : u'Create documentation module',
      u'Propósito' : u'Purpose',
      u'Autor' : u'Author',
      u'Creado' : u'Created',
      u'Copyright' : u'Copyright',
      u'Licencia' : u'License',
      u'Ejecutar código Python' : u'Execute Python code',
      u'Parar script en ejecución' :u'Stop running script',
      u'Seleccione un módulo' : u'Choose a module',
      u'Se paró el script Python' : u'Python script stopped',
      u'No hay ningún script en proceso' : u'There is no script running',
      u'No se ha podido matar el proceso' : u'Unable to kill the script Python',
      u'Nuevo fichero' : u'New file',
      u'Abrir fichero' : u'Open file',
      u'Salvar fichero' : u'Save file',
      u'Copiar' : u'Copy',
      u'Cortar' : u'Cut',
      u'Pegar' : u'Paste',
      u'Deshacer' : u'Undo',
      u'Rehacer' : u'Redo',
      u'Nivel de indentación de código' : u'Indentation code',
      u'Reemplazar texto' : u'Replace text',
      u'Seleccionar todo' : u'Select all',
      u'Dedentar código seleccionado' : u'Dedent selected code',
      u'Indentar código seleccionado' : u'Indent selected code',
      u'Comentar código seleccionado' : u'Comment selected code',
      u'Descomentar código seleccionado' : u'Uncomment selected code',
      u'IR A...' : u'GO TO...',
      u'No se reemplazó nada' : u'Nothing was replaced',
      u'Campo' : u'Field',
      u'Campos' : u'Fields',
      u'Emular con' : u'Emulate with',
      u'Nombre del nuevo registro: ' : u'Name of the new record: ',
      u'Modificar nombre de registro: ' : u'Modify record name: ',
      u'Salir de vipera' : u'Exit vipera',
      u'vipera, un diseñador de aplicaciones para Python' : u'vipera, an application designer for Python',
      u'Métodos' : u'Methods',
      u'Propiedades' : u'Properties',
      u'Constructor' : u'Constructor',
      u'Destructor' : u'Destructor',
      u'Crear relación entre clases' : u'Create relationship between classes',
      u'Eliminar relación entre clases' : u'Delete relationship between classes',
      u'Crear texto' : u'Create text',
      u'Modificar texto' : u'Modify text',
      u'Eliminar texto' : u'Delete text',
      u'No hay proyectos abiertos' : u'There are no projects open',
      u'Aplicación y versión' : u'application and version',
      u'Limpiando memoria...' : u'Freeing memory...',
      u'Proyecto sin nombre...' : u'No name project...',
      u'vipera: código Python' : u'vipera: Python code',
      u'Error de indentación de código' : u'Indentation code error',
      u'Error al analizar el código Python' : u'Error analyzing Python code',
      u'Título': u'Title',
      u'Vista preliminar de impresión': u'Print preview',
      u'No se puede mostrar la vista preliminar' : u'Can not display print preview',
      u'Buscando noticias...': u'Looking for news ...',
      u'Fecha': u'Date',
      u'Noticias': u'News',
      u'Fichero Python': u'Python file',
      u'Salvar fichero como...': u'Save file as...',
      u'Seleccione un fichero Python': u'Choose a Python file',
      u'¿Crear un módulo nuevo?': u'Create new module?',
      u'sin_nombre.py': u'noname.py',
      u'Abrir fichero Python': u'Open Python file',
      u'Volver a abrir el fichero Python actual': u'Reopen the current Python file',
      u'Analizando código fuente del fichero Python...': u'Analyzing Python source file ...',
      u'Error en la carga del fichero': u'Error in loading file',
      u'(Se perderán los datos que no haya guardado)': u'(You will lose unsaved data)',
      u'¿Abrir un fichero Python?': u'open a Python file?',
      u'¿Volver a abrir el fichero?': u'Go back to open the file?',
      u'Funciones del módulo': u'Module functions',
      u'Comentario': u'Comment',
      u'Precondición': u'Pre-condition',
      u'Postcondición': u'Post-condition',
      u'Nombre de la nueva función: ': u'Name of the new function: ',
      u'Renombrar nombre de función: ': u'Rename function name: ',
      u'Función': u'Function',
      u'¡La función ya existe!': u'Function exists!',
      u'Se debe de elegir una función a renombrar': u'You must choose a function to rename',
      u'Se debe de elegir una función a eliminar': u'You must choose a function to delete',
      u'Eliminar función?': u'Delete function?',
      u'Se eliminó la función': u'Function deleted',
      u'No se pudo abrir el fichero ': u'Failed to open the file ',
      u'Configurar licencia': u'Set license',
      u'Propietario': u'Owner',
      u'Año': u'Year',
      u'Organización': u'Organization',
      u'Nombre del programa y una breve idea de lo que hace': u"Program's name and a brief idea of what it does",
      u'No se pudo reiniciar. Elimine manualmente el fichero ': u'Could not restart. Delete the file ',
      u'Añadir módulo': u'Add module',
      u'Añadir directorio': u'Add directory',
      u'Eliminar módulo / directorio seleccionado': u'Remove module / directory selected',
      u'Tiene que seleccionar un elemento del árbol': u'You must select a tree item',
      u'Se debe de crear primero un directorio' : u'First create a directory',
      u'No hay módulo o directorio a eliminar' : u'No module or directory to remove',
      u'Diccionarios de constantes' : 'Dictionaries of constants',
      u'Editor Python' : u'Python editor',
      u'Diagrama uml de módulo' : u'Uml module diagram',
      u'Código Python generado' : u'Generated Python Code',
      u'Diagrama uml' : u'Uml diagram',
      u'Editor' : u'Editor',
      u'Exportar a HTML' : u'Export to HTML',
      u'Imprimir' : 'Print',
      u'Configurar' :u'Setup',
      u'Área de impresión' : u'Print area'}
      
def t(clave, idioma = SPANISH):
    '''Función de traducción.'''
    # Para temas de compatibilidad...
    if idioma is None: return clave
    try:
        if idioma in [SPANISH]: # Español
            return clave
        if idioma in [ENGLISH]: # Inglés
            return EN[clave]
    except:
        return '?'
    
#def t(clave, idioma = 0):
    ## Para temas de compatibilidad...
    #if idioma is None: return clave
    #if idioma in [0]: # Español
        #return clave
    #if idioma in [1]: # Inglés
        #return EN[clave]
            
